package app.imttf.online.backing.utils;

import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Set;

public class UIManager {

    //Holds the DepartmentId of the last one we rendered
    String _breakGroupLastKey0 = "";
    String _breakGroupLastKey1 = "";
    String _breakGroupLastKey2 = "";
    String _breakGroupLastKey3 = "";
    String _breakGroupLastKey4 = "";
    String _breakGroupLastKey5 = "";

    //The fake Map
    Map _breakGroupMap0 = new BreakGroupFakeMap0();
    Map _breakGroupMap1 = new BreakGroupFakeMap1();
    Map _breakGroupMap2 = new BreakGroupFakeMap2();
    Map _breakGroupMap3 = new BreakGroupFakeMap3();
    Map _breakGroupMap4 = new BreakGroupFakeMap4();
    Map _breakGroupMap5 = new BreakGroupFakeMap5();

    //Getter for the face map. No setter required
    public Map getBreakGroupMap0() {
        return _breakGroupMap0;
    }
    
    public Map getBreakGroupMap1() {
        return _breakGroupMap1;
    }
    
    public Map getBreakGroupMap2() {
        return _breakGroupMap2;
    }
    
    public Map getBreakGroupMap3() {
        return _breakGroupMap3;
    }
    
    public Map getBreakGroupMap4() {
        return _breakGroupMap4;
    }
    
    public Map getBreakGroupMap5() {
        return _breakGroupMap5;
    }

    //Implementation of the fake map as an inner class
    public class BreakGroupFakeMap0 implements Map {
        public Object get(Object key) {
            Boolean retValue = false;
            if (key instanceof String) {                
                if (((String)key).equals(_breakGroupLastKey0)) {
                    retValue = true;
                } else {
                    retValue = false;
                    _breakGroupLastKey0 = (String)key;
                }
            }
            return retValue;
        }

        public int size() {
            return 0;
        }

        public boolean isEmpty() {
            return false;
        }

        public boolean containsKey(Object key) {
            return false;
        }

        public boolean containsValue(Object value) {
            return false;
        }

        public Object put(Object key, Object value) {
            return null;
        }

        public Object remove(Object key) {
            return null;
        }

        public void putAll(Map m) {
        }

        public void clear() {
        }

        public Set keySet() {
            return Collections.emptySet();
        }

        public Collection values() {
            return Collections.emptySet();
        }

        public Set entrySet() {
            return Collections.emptySet();
        }
    }
    
    public class BreakGroupFakeMap1 implements Map {
        public Object get(Object key) {
            Boolean retValue = false;
            if (key instanceof String) {                
                if (((String)key).equals(_breakGroupLastKey1)) {
                    retValue = true;
                } else {
                    retValue = false;
                    _breakGroupLastKey1 = (String)key;
                }
            }
            return retValue;
        }

        public int size() {
            return 0;
        }

        public boolean isEmpty() {
            return false;
        }

        public boolean containsKey(Object key) {
            return false;
        }

        public boolean containsValue(Object value) {
            return false;
        }

        public Object put(Object key, Object value) {
            return null;
        }

        public Object remove(Object key) {
            return null;
        }

        public void putAll(Map m) {
        }

        public void clear() {
        }

        public Set keySet() {
            return Collections.emptySet();
        }

        public Collection values() {
            return Collections.emptySet();
        }

        public Set entrySet() {
            return Collections.emptySet();
        }
    }
    
    public class BreakGroupFakeMap2 implements Map {
        public Object get(Object key) {
            Boolean retValue = false;
            if (key instanceof String) {                
                if (((String)key).equals(_breakGroupLastKey2)) {
                    retValue = true;
                } else {
                    retValue = false;
                    _breakGroupLastKey2 = (String)key;
                }
            }
            return retValue;
        }

        public int size() {
            return 0;
        }

        public boolean isEmpty() {
            return false;
        }

        public boolean containsKey(Object key) {
            return false;
        }

        public boolean containsValue(Object value) {
            return false;
        }

        public Object put(Object key, Object value) {
            return null;
        }

        public Object remove(Object key) {
            return null;
        }

        public void putAll(Map m) {
        }

        public void clear() {
        }

        public Set keySet() {
            return Collections.emptySet();
        }

        public Collection values() {
            return Collections.emptySet();
        }

        public Set entrySet() {
            return Collections.emptySet();
        }
    }
    
    public class BreakGroupFakeMap3 implements Map {
        public Object get(Object key) {
            Boolean retValue = false;
            if (key instanceof String) {                
                if (((String)key).equals(_breakGroupLastKey3)) {
                    retValue = true;
                } else {
                    retValue = false;
                    _breakGroupLastKey3 = (String)key;
                }
            }
            return retValue;
        }

        public int size() {
            return 0;
        }

        public boolean isEmpty() {
            return false;
        }

        public boolean containsKey(Object key) {
            return false;
        }

        public boolean containsValue(Object value) {
            return false;
        }

        public Object put(Object key, Object value) {
            return null;
        }

        public Object remove(Object key) {
            return null;
        }

        public void putAll(Map m) {
        }

        public void clear() {
        }

        public Set keySet() {
            return Collections.emptySet();
        }

        public Collection values() {
            return Collections.emptySet();
        }

        public Set entrySet() {
            return Collections.emptySet();
        }
    }
    
    public class BreakGroupFakeMap4 implements Map {
        public Object get(Object key) {
            Boolean retValue = false;
            if (key instanceof String) {                
                if (((String)key).equals(_breakGroupLastKey4)) {
                    retValue = true;
                } else {
                    retValue = false;
                    _breakGroupLastKey4 = (String)key;
                }
            }
            return retValue;
        }

        public int size() {
            return 0;
        }

        public boolean isEmpty() {
            return false;
        }

        public boolean containsKey(Object key) {
            return false;
        }

        public boolean containsValue(Object value) {
            return false;
        }

        public Object put(Object key, Object value) {
            return null;
        }

        public Object remove(Object key) {
            return null;
        }

        public void putAll(Map m) {
        }

        public void clear() {
        }

        public Set keySet() {
            return Collections.emptySet();
        }

        public Collection values() {
            return Collections.emptySet();
        }

        public Set entrySet() {
            return Collections.emptySet();
        }
    }
    
    public class BreakGroupFakeMap5 implements Map {
        public Object get(Object key) {
            Boolean retValue = false;
            if (key instanceof String) {                
                if (((String)key).equals(_breakGroupLastKey5)) {
                    retValue = true;
                } else {
                    retValue = false;
                    _breakGroupLastKey5 = (String)key;
                }
            }
            return retValue;
        }

        public int size() {
            return 0;
        }

        public boolean isEmpty() {
            return false;
        }

        public boolean containsKey(Object key) {
            return false;
        }

        public boolean containsValue(Object value) {
            return false;
        }

        public Object put(Object key, Object value) {
            return null;
        }

        public Object remove(Object key) {
            return null;
        }

        public void putAll(Map m) {
        }

        public void clear() {
        }

        public Set keySet() {
            return Collections.emptySet();
        }

        public Collection values() {
            return Collections.emptySet();
        }

        public Set entrySet() {
            return Collections.emptySet();
        }
    }
    
}
